package com.qf.service.serviceimpl;

import com.qf.dao.ProductDao;
import com.qf.dao.daoimpl.ProductDaoImpl;
import com.qf.pojo.PageBean;
import com.qf.pojo.Product;
import com.qf.service.ProductService;

import java.sql.SQLException;
import java.util.List;

/**
 * @author Mr.Liu
 * @date 2021/11/25 12:58
 */

public class ProductServiceImpl implements ProductService {
    /**
     * 查找最新商品
     * @return返回商品集合
     */
    @Override
    public List<Product> findNewProduct() {
        try {
            ProductDao pd = new ProductDaoImpl();
            List<Product> newProduct = pd.findNewProduct();
            if(newProduct!=null){
                return newProduct;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
    /**
     *查找热门商品
     * @return返回商品集合
     */
    @Override
    public List<Product> hotProduct() {
        try {
            ProductDao pd = new ProductDaoImpl();
            List<Product> hotProduct = pd.findHotProduct();
            if(hotProduct!=null){
                return hotProduct;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
    /**
     *通过pid查找商品
     */
    @Override
    public Product findProductByPid(String pid) {
        try {
            ProductDao pd = new ProductDaoImpl();
            Product product = pd.findProductByPid(pid);
            if(product!=null){
                return product;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     *
     * @param currentPage 当前页码
     * @param pageSize 每页显示的条数
     * @param cid 分类编号
     * @return 返回分页组件对象
     */
    @Override
    public PageBean<Product> findProducts(int currentPage, int pageSize, String cid) {
        try {
            ProductDao pd = new ProductDaoImpl();
            int totalsize = pd.findTotalSize(cid);
            List<Product> products = pd.findProducts(currentPage,pageSize,cid);
            if(totalsize!=0 && products!= null){
                PageBean<Product> totalproducts = new PageBean<Product>(currentPage,pageSize,totalsize,products);
                return totalproducts;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
}
